Îñíîâíè
õàðàêòåðèñòèêè íà õàðäóåðíèòå è ñîôòóåðíè êîìïîíåíòè íà embedded
ñèñòåìèòå
Îáèêíîâåíî ñå ïðèåìà, ÷å âãðàäåíèòå ñèñòåìè (embedded
systems) ñà åëåêòðîííè öèôðîâè ñèñòåìè, ïðîãðàìèðàíè
äà èçïúëíÿâàò îïðåäåëåíè ôóíêöèè â ðåàëíî âðåìå. Â çàâèñèìîñò îò
ïðåäíàçíà÷åíèåòî ñè, ñå õàðàêòåðèçèðàò ñ ðàçëè÷íà ñëîæíîñò – îò åëåìåíòàðíè ñ
åäèí ìèêðîêîíòðîëåðåí ÷èï, äî êîìïëåêñíè ñèñòåìè,
ñúñòàâåíè îò ìíîæåñòâî óñòðîéñòâà, ïåðèôåðíè è ìðåæîâè ìîäóëè, ìîíòèðàíè íà
îáùî øàñè èëè äîðè èíòåãðèðàíè â îáù øêàô. Êàòî ñúâðåìåííà òåíäåíöèÿ ïðè
ïðîèçâîäñòâîòî èì ñå î÷åðòàâà ñòðåìåæúò êúì ìèíèìèçèðàíå íà ðàçìåðèòå, ìàñàòà,
êîíñóìèðàíàòà åíåðãèÿ è öåíàòà èì è óâåëè÷àâàíå íà íàäåæäíîñòòà è
ôóíêöèîíàëíîñòòà íà ñèñòåìèòå.
Âãðàäåíèòå ñèñòåìè íàìèðàò øèðîêî ïðèëîæåíèå â îáëàñòòà íà òåëåêîìóíèêàöèèòå,
ïîòðåáèòåëñêàòà åëåêòðîíèêà, òðàíñïîðòíèòå ñðåäñòâà è ïðîìèøëåíîñòòà. Âñåêè
ñúâðåìåíåí òðàíñìèòåð çà èçìåðâàíå íà íàëÿãàíå, òåìïåðàòóðà,
íèâî èëè òåãëî ñúäúðæà â ñåáå ñè âãðàäåíà ñèñòåìà, êîÿòî îáðàáîòâà èçìåðåíàòà
ñòîéíîñò íà ïàðàìåòúðà, êàòî ôèëòðèðà íåêîðåêòíèòå ñòîéíîñòè, êîðèãèðà ãè
ñúîáðàçíî âëèÿíèåòî íà îêîëíàòà ñðåäà è ãè ïðåîáðàçóâà ìàòåìàòè÷åñêè.
Âãðàäåíîòî óïðàâëåíèå ñëåäè çà òî÷íîñòòà íà èçõîäíèòå ñèãíàëè, èçâúðøâà
êîìóíèêàöèÿ ñ äðóãè óñòðîéñòâà è ñèñòåìè, ïðàâè àâòîäèàãíîñòèêà è ïðåäàâà
àëàðìåíè ñúîáùåíèÿ. Ïðè ðàçëè÷íèòå àíàëèòè÷íè ïðèáîðè, îñâåí èçáðîåíèòå
ôóíêöèè, âãðàäåíèòå ñèñòåìè êîíòðîëèðàò âçèìàíåòî, êîíäèöèîíèðàíåòî è
ôèëòðèðàíåòî íà ïðîáàòà, ñëåä êîåòî ñëåäÿò çà èçâúðøâàíåòî íà àíàëèçà. Íÿêîè
ìàøèíè èëè àãðåãàòè â èíäóñòðèÿòà, êàòî íàïðèìåð ïîìïè, âåíòèëàòîðè,
êîìïðåñîðè, ñà ñíàáäåíè ñ âãðàäåíè ñèñòåìè, êîèòî íàáëþäàâàò ðàáîòàòà èì. ×ðåç
ñåíçîðè, èçìåðâàùè âèáðàöèè, ëèíåéíè èçìåñòâàíèÿ, ñêîðîñòè íà âúðòåíå è äðóãè
ïàðàìåòðè, òåçè ñèñòåìè àíàëèçèðàò ðàáîòàòà íà ìàøèíàòà è ãåíåðèðàò öåííà
èíôîðìàöèÿ, èçïîëçâàíà çà ïðåäñêàçâàùî óïðàâëåíèå è îïòèìàëíà åêñïëîàòàöèÿ íà
îáîðóäâàíåòî.
Îñíîâíè
õàðàêòåðèñòèêè
Îòëè÷èòåëíà
õàðàêòåðèñòèêà íà âãðàäåíèòå ñèñòåìè å îãðàíè÷åíèÿò áðîé ïðåäâàðèòåëíî
äåôèíèðàíè ôóíêöèè, êîèòî ñà ïðîåêòèðàíè äà èçïúëíÿâàò. Ñèñòåìèòå ñà òÿñíî
ñïåöèàëèçèðàíè è ðåøàâàò ñàìî îïðåäåëåíà çàäà÷à èëè ñðàâíèòåëíî îãðàíè÷åí áðîé
çàäà÷è, çà ðàçëèêà îò äðóãè åëåêòðîííè óñòðîéñòâà ñ ïîäîáíà åëåìåíòíà
áàçà, êîèòî èçïúëíÿâàò øèðîê íàáîð îò ôóíêöèè. Îñâåí òîâà, âãðàäåíèòå ñèñòåìè
îáèêíîâåíî ðàçïîëàãàò ñ îãðàíè÷åíà çàõðàíâàùà ìîùíîñò è òðÿáâà äà èìàò
åôåêòèâíî óïðàâëåíèå íà çàõðàíâàíåòî, çà äà ìîæå íàëè÷íàòà ìîùíîñò äà ñå
ðàçïðåäåëè çà âñè÷êè èçïúëíÿâàíè çàäà÷è. Ðåñóðñèòå èì íèêîãà íå òðÿáâà äà ñå
èçïîëçâàò íàïúëíî è âèíàãè òðÿáâà äà èìà ðåçåðâè, êîèòî äà ñå ìîáèëèçèðàò ïðè
íåïðåäâèäåíè ñèòóàöèè â ïðîöåñà íà åêñïëîàòàöèÿ.
Äðóãà âàæíà òÿõíà îñîáåíîñò å ðàáîòàòà â ðåàëíî âðåìå, êîåòî èçèñêâà
ïðåäâèäåíèòå ñèòóàöèè äà áúäàò îáðàáîòåíè çà îïðåäåëåíîòî âðåìå, ïî çàäàäåíèòå
àëãîðèòìè. Çàáàâÿíåòî èëè îòêëîíåíèåòî îò êîäèðàíèÿ àëãîðèòúì ìîæå äà äîâåäå äî
ïîâðåäà, êàòàñòðîôà èëè çàãóáà íà ÷îâåøêè æèâîò.
Èíòåðôåéñè
âúâ âãðàäåíèòå ñèñòåìè
Èíòåðôåéñèòå âúâ
âãðàäåíèòå ñèñòåìè ñà ðàçíîîáðàçíè è ÷àñò îò òÿõ äîðè íå ñà ñòàíäàðòèçèðàíè.
Êëàñèôèêàöèÿòà å òðóäíà è ïðîòèâîðå÷èâà ïîðàäè îãðîìíîòî êîëè÷åñòâî ïàðàìåòðè,
ïî êîèòî ìîãàò äà ñå ñðàâíÿâàò è êëàñèôèöèðàò. Íàé-ïðîñòî êàçàíî, èíòåðôåéñèòå
ñå äåëÿò íà îïåðàòîðñêè èíòåðôåéñè (Human-Machine
interfaces – HMI) è
åëåêòðè÷åñêè èíòåðôåéñè (èíòåðôåéñè çà âðúçêà ñ êîìïîíåíòè è äðóãè óñòðîéñòâà).
Êúì èíòåðôåéñèòå îò ãðóïàòà HMI ñïàäàò: êëàâèàòóðè,
ìîíèòîðè, êëþ÷îâå, áóòîíè, åäèíè÷íè èëè ãðóïîâè èíäèêàòîðè, èçëú÷âàòåëè íà
àêóñòè÷íè, óòðàçâóêîâè, òîïëèííè ñèãíàëè,
åëåêòðîäâèãàòåëè, åëåêòðîìàãíèòè è äðóãè.
Åëåêòðè÷åñêèòå èíòåðôåéñè ñà ìíîãî âèäîâå è íàé-îáùî ïîïàäàò â äâå ãðóïè:
âúòðåøíè è âúíøíè. Ðàçëèêàòà å ãîëÿìà, êàòî ñúùåñòâåíèòå ïàðàìåòðè ñà øóìîóñòîé÷èâîñòòà,
äúëæèíàòà íà âðúçêàòà, ñêîðîñòòà è äð. Êàòî âúòðåøíè èíòåðôåéñè ìîãàò äà ñå
ïîñî÷àò I2C, SPI, ISA è
ïîäîáíèòå èì, êîèòî îñúùåñòâÿâàò âðúçêà ìåæäó êîìïîíåíòè è ìîäóëè âúâ
âãðàäåíèòå ñèñòåìè è ïî-ðÿäêî âðúçêà íà ìàëêè ðàçñòîÿíèÿ ìåæäó äâå èëè ïîâå÷å
ñèñòåìè â åäíà ïî-ãîëÿìà âãðàäåíà ñèñòåìà. Òåçè èíòåðôåéñè îáèêíîâåíî ïîêðèâàò
ðàçñòîÿíèÿ äî íÿêîëêî ìåòðà èëè äîðè ìíîãî ïî-ìàëêè.
Âúíøíèòå èíòåðôåéñè ñå ïðèëàãàò çà âðúçêà ìåæäó îòäåëíè âãðàäåíè ñèñòåìè íà
çíà÷èòåëíî ðàçñòîÿíèå åäíà îò äðóãà èëè ìåæäó âãðàäåíè ñèñòåìè è îòäàëå÷åíè
ïåðèôåðíè óñòðîéñòâà. Òàêèâà ñà RS232, TTY, Ethernet, Centronics, FlexRay, CAN, LIN
è äð. Ðàçñòîÿíèåòî îáèêíîâåíî å îò íÿêîëêî ìåòðà äî íÿêîëêî êèëîìåòðà â
çàâèñèìîñò îò èíòåðôåéñà. ×àñò îò âúíøíèòå èíòåðôåéñè ñà ãàëâàíè÷íî èçîëèðàíè ñ
òðàíñôîðìàòîðè èëè ñ îïòè÷åñêè êàáåëè.  òàçè ãðóïà ñà è ðàäèîèíòåðôåéñèòå çà
ìàëêè èëè ïî-çíà÷èòåëíè ðàçñòîÿíèÿ.
Ïëàòôîðìè
çà èçãðàæäàíå íà âãðàäåíè ñèñòåìè
Âãðàäåíèòå ñèñòåìè
ìîãàò äà âêëþ÷âàò îáèêíîâåíè ìèêðîïðîöåñîðè (mP) è
ìèêðîêîíòðîëåðè (mC), êîèòî èìàò ïî-ìàëêà
èç÷èñëèòåëíà ìîùíîñò, íî çà ñìåòêà íà òîâà ñà ñ ïî-ðàçíîîáðàçíà ïåðèôåðèÿ. Òàçè
õàðàêòåðèñòèêà íà ìèêðîêîíòðîëåðèòå îáóñëàâÿ øèðîêàòà èì óïîòðåáà â ñèñòåìèòå ñ
íèñêà è ñðåäíà ñëîæíîñò.
Çà ðàçëèêà îò ïåðñîíàëíèòå êîìïþòðè è ñúðâúðèòå, ïðè âãðàäåíèòå ñèñòåìè ñå
èçïîëçâàò ãîëÿì áðîé áàçîâè àðõèòåêòóðè, ñðåä êîèòî ôîí Íîéìàí è Õàðâàðä. Ïðè
êîíöåïöèÿòà ôîí Íîéìàí ñå èçïîëçâà îáùà ïàìåò çà ñúõðàíåíèå íà ïðîãðàìíèòå
èíñòðóêöèè è äàííèòå, äîêàòî ïðè àðõèòåêòóðàòà Õàðâàðä ñúõðàíåíèåòî íà
ïðîãðàìíèòå èíñòðóêöèè è äàííèòå ñòàâà â îòäåëíè àäðåñíè ïðîñòðàíñòâà. Òîâà
ïîçâîëÿâà äàííèòå äà èìàò ïðèìåðíî 8-áèòîâ ôîðìàò, à èíñòðóêöèèòå - 12-áèòîâ.
Õàðäóåðíè
êîìïîíåíòè íà ñèñòåìèòå
Ïðîöåñîð. Çà öåëèòå
íà âãðàäåíîòî óïðàâëåíèå íàìèðàò ïðèëîæåíèå êàêòî RISC,
òàêà è RISC ïðîöåñîðèòå. Âîäåù ïðèíöèï ïðè
êîíöåïöèÿòà RISC (Reduced Instruction Set Computer – êîìïþòúð ñ íàìàëåí íàáîð èíñòðóêöèè) å
èçïúëíåíèåòî íà ìàêñèìàëíî êîìïàêòíè è îïðîñòåíè êîìàíäè, êîèòî èçèñêâàò
ìèíèìàëíî âðåìå (òàêòîâå). Òîçè ïðèíöèï îïðîñòÿâà àðõèòåêòóðàòà, ïîçâîëÿâà
ïðîöåñîðúò äà ðàáîòè íà ïî-âèñîêà òàêòîâà ÷åñòîòà è íàìàëÿâà öåíàòà ìó. Çà
öåëèòå íà âãðàäåíîòî óïðàâëåíèå ñà äîáèëè ïîïóëÿðíîñò ðàçëè÷íè ôàìèëèè RISC ïðîöåñîðè: ARC (íà ARC International), ARM (íà ARM Holdings), AVR (íà Atmel), PIC (íà Microchip), MSP430 (íà TI) è äð.
Êàòî ïðîòèâîïîëîæíîñò íà RISC ñúùåñòâóâà êîíöåïöèÿòà CISC (Complex Instruction
Set Computer – êîìïþòúð ñ
êîìïëåêñåí íàáîð èíñòðóêöèè), íî òÿ å ñ ïî-îãðàíè÷åíî ïðèëîæåíèå ïðè âãðàäåíèòå
ñèñòåìè. Ïî îòíîøåíèå äúëæèíàòà íà äóìàòà íà ïðîöåñîðèòå, èçïîëçâàíè çà
âãðàäåíî óïðàâëåíèå, ñúùåñòâóâà ãîëÿìî ðàçíîîáðàçèå – òå ìîãàò äà ñà îò 4- äî
64-áèòîâè è ïîâå÷å (ãëàâíî ïðè DSP – öèôðîâè ñèãíàëíè
ïðîöåñîðè), íî â íàé-ìàñîâà óïîòðåáà ñà 8- è 16-áèòîâèòå.
Ïðîèçâîäèòåëíîñòòà íà ïðîöåñîðà çàâèñè îò íÿêîëêî ôàêòîðà. Íà ïúðâî ìÿñòî,
ìàêñèìàëíàòà ÷åñòîòà, ñ êîÿòî ìîæå äà ðàáîòè ïðîöåñîðíîòî
ÿäðî. Îáèêíîâåíî òÿ å â äèàïàçîíà îò 4 MHz äî 80 MHz (çà íÿêîè ìîäåëè DSP
íàäõâúðëÿ 400 MHz).  ÿäðîòî íà ïðîöåñîðà ñå íàìèðà ÀËÓ (àðèòìåòè÷íî ëîãè÷åñêî óñòðîéñòâî), îòãîâîðíî çà
èçâúðøâàíåòî íà èç÷èñëåíèÿòà è îïåðàöèèòå â çàâèñèìîñò îò èçïúëíÿâàíàòà
èíñòðóêöèÿ. Îò äúëæèíàòà íà äóìèòå, êîèòî òî ìîæå äà îáðàáîòâà, ñúùî çàâèñè
ïðîèçâîäèòåëíîñòòà íà öåëèÿ ïðîöåñîð. Äðóã ôàêòîð, âëèÿåù íà
ïðîèçâîäèòåëíîñòòà, å áðîÿò íà ðàáîòíèòå ðåãèñòðè â ÿäðîòî íà ïðîöåñîðà.
Êîëêîòî å ïî-ãîëÿì òåõíèÿò áðîé, òîëêîâà ïî-âèñîêà ìîæå äà áúäå
ïðîèçâîäèòåëíîñòòà íà ñúîòâåòíèÿ ïðîöåñîð. Îáèêíîâåíî ðàçðåäíîñòòà
íà ðåãèñòðèòå å ðàâíà ñ òàçè íà ÀËÓ.
Âàæåí ïîêàçàòåë, êîéòî îïðåäåëÿ ïðîèçâîäèòåëíîñòòà íà ÿäðîòî, à îòòàì è íà
ïðîöåñîðà/êîíòðîëåðà, å îðãàíèçàöèÿòà íà îáðàáîòâàíå íà èíñòðóêöèèòå. Ìíîãî îò
ïðîèçâîäèòåëèòå çàëàãàò â ñâîèòå ïðîäóêòè ò. íàð. êîíâåéåðíà îáðàáîòêà íà
èíñòðóêöèèòå. Èäåÿòà íà êîíâåéðà (Pipeline)
å äà íå ñå èç÷àêâà çàâúðøâàíåòî íà èçïúëíåíèåòî íà èíñòðóêöèÿ, çà äà ñå çàïî÷íå
ñëåäâàùàòà, à îáðàáîòêàòà íà íîâàòà èíñòðóêöèÿ äà ñòàðòèðà âåäíàãà ñëåä
ïðåäõîäíàòà. Òàêà, â îïòèìàëíèÿ ñëó÷àé, åäèí òàêò ñëåä íà÷àëîòî íà ïúðâàòà
èíñòðóêöèÿ ñå çàðåæäà âòîðàòà, ñëåä îùå åäèí òàêò - òðåòàòà. Ïðè ÷åòâúðòèÿ òàêò
åäíîâðåìåííî ñå îáðàáîòâàò ÷åòèðè èíñòðóêöèè, âñÿêà îòìåñòåíà íà åäèí òàêò îò
ïðåäõîäíàòà.
Ðàçãëåæäàéêè ïðîöåñîðíîòî ÿäðî, òðÿáâà äà îòáåëåæèì
îùå åäèí ôàêòîð, âëèÿåù íà íåãîâàòà èç÷èñëèòåëíà ìîù – âúòðåøíàòà ïàìåò èëè ò.
íàð. êåø ïàìåò. Êåøúò ïðåäñòàâëÿâà ñïåöèàëíà äîáàâêà êúì äåêîäåðà íà ïàìåòòà íà
ïðîöåñîðà. Ðåàëèçèðà ñå îò ìíîãî áúðçà ïàìåò è ñïåöèàëèçèðàíà ëîãèêà çà íåéíîòî
óïðàâëåíèå. Îñíîâíàòà èäåÿ íà êåøà å äà çàïèøå ÷àñò îò ïàìåòòà (÷åñòî èçïîëçâàíà)
â ñîáñòâåíàòà ñè ïàìåò è àêî ïðîöåñîðúò ïîèñêà àäðåñ îò òàçè ÷àñò äà ñå
èçïîëçâà ñòîéíîñòòà îò áúðçàòà êåø ïàìåò, à íå îò ïî-áàâíàòà âúíøíà ïàìåò.
Øèíèòå ñà ñðåäñòâî çà ïðåíàñÿíå íà èíôîðìàöèÿòà ïîä ôîðìàòà íà öèôðîâè ñèãíàëè.
Ðàçëè÷àâàò ñå òðè òèïà øèíè, â çàâèñèìîñò îò ïðåäíàçíà÷åíèåòî èì – àäðåñíà,
óïðàâëÿâàùà è øèíà çà äàííè. Àäðåñíàòà øèíà ñâúðçâà ïðîöåñîðà ñ ïàìåòòà è
ïåðèôåðíèòå óñòðîéñòâà. Øèíàòà çà äàííè å äâóïîñî÷íà è ïðåíàñÿ èíôîðìàöèÿ ìåæäó
ïðîöåñîðà è ïàìåòòà èëè ïåðèôåðíèòå óñòðîéñòâà. Áðîÿò íà ïèñòèòå îïðåäåëÿ áðîÿ
áèòîâå, êîèòî ìîãàò äà ñå çàïèøàò âúâ âñÿêà êëåòêà íà ïàìåòòà. Âñè÷êè
äîïúëíèòåëíè äàííè çà óïðàâëåíèå íà äåéíîñòòà íà ñèñòåìàòà ñå ïðåíàñÿò îò
óïðàâëÿâàùàòà øèíà.
Ïàìåòòà ñúõðàíÿâà èíñòðóêöèèòå è äàííèòå, ñ êîèòî ðàáîòè ïðîöåñîðúò.  ïîâå÷åòî
ñëó÷àè ïàìåòòà çà ïðîãðàìíèòå èíñòðóêöèè å îò òèïà flash,
êîÿòî ìîæå äà áúäå çàïèñâàíà ìíîãîêðàòíî, íàïðèìåð 10 000 è ïîâå÷å ïúòè èëè OTP (One-Time Programmable
– åäíîêðàòíî ïðîãðàìèðóåìà), êîÿòî å ïî-íàäåæäíà, íî ìîæå äà áúäå ïðîãðàìèðàíà
ñàìî âåäíúæ. Ïðè íÿêîè ìîäåëè ìèêðîêîíòðîëåðè å ïðåäâèäåíà âúçìîæíîñò çà
âêëþ÷âàíå íà äîïúëíèòåëíà âúíøíà ïàìåò.
Ïåðèôåðèÿòà âêëþ÷âà äèñêðåòíèòå âõîäîâå/èçõîäè çà îáùà óïîòðåáà (General Purpose Input/Output
- GPIO), êîèòî ñëóæàò çà óïðàâëåíèå íà âúíøíè
êîìïîíåíòè (ðåëåòà, òèðèñòîðè è äð.) èëè çà
ïîëó÷àâàíå íà èíôîðìàöèÿ îò äâîè÷íè ñåíçîðè (áóòîíè, êðàéíè èçêëþ÷âàòåëè,
ñåíçîðè çà ïîëîæåíèå è äð.). Â ñúâðåìåííèòå ìèêðîêîíòðîëåðè âñåêè îò èçâîäèòå
çà GPIO ìîæå äà áúäå ïðîãðàìèðàí êàòî âõîä èëè êàòî
èçõîä â çàâèñèìîñò îò íóæäèòå íà ïðèëîæåíèåòî. Íÿêîè ïðîèçâîäèòåëè äàâàò
äîïúëíèòåëíà ôóíêöèîíàëíîñò íà äèñêðåòíèòå âõîäîâå/èçõîäè, êàòî íàïðèìåð äà
ìîãàò äà èçäúðæàò íà ïî-âèñîêî òîêîâî íàòîâàðâàíå, äà ìîãàò äà óïðàâëÿâàò òå÷íîêðèñòàëíè äèñïëåè è äð. Êîãàòî å íåîáõîäèì îáìåí íà
àíàëîãîâà èíôîðìàöèÿ, ñå èçïîëçâà ÀÖÏ (àíàëîãîâî-öèôðîâ ïðåîáðàçóâàòåë) èëè ÖÀÏ
ïåðèôåðèÿ. Èçâîäèòå, íà êîèòî ñå èçâåæäà òàêàâà èíôîðìàöèÿ, êàòî ïðàâèëî ñà
îáùè ñ òåçè çà GPIO è íåîáõîäèìàòà ôóíêöèÿ ñå çàäàâà
îò ïðîãðàìíîòî îñèãóðÿâàíå. Ðàçðåäíîñòòà è ñêîðîñòòà
íà ïðåîáðàçóâàíå íà âãðàäåíèòå ÀÖÏ/ÖÀÏ å òâúðäå ðàçëè÷íà çà âñåêè îò ìîäåëèòå
ìèêðîêîíòðîëåðè, íî îáèêíîâåíî å îò 8 äî 16 áèòà è ñ 10 000 äî 1 ìèëèîí îò÷åòà
çà ñåêóíäà.
Òàéìåðèòå ñà äðóãà âàæíà ïåðèôåðèÿ è òîâà îáóñëàâÿ íàëè÷èåòî èì â ïî÷òè âñè÷êè
ñúâðåìåííè ìèêðîêîíòðîëåðè. Ìíîãî ÷åñòî òàéìåðúò ìîæå äà áúäå ïðîãðàìèðàí êàòî
áðîÿ÷, äà èìà äîïúëíèòåëåí ïðîãðàìèðóåì äåëèòåë íà âõîäÿùîòî ìó òàêòèðàíå, à èçòî÷íèêúò íà òàêòîâè èìïóëñè äà ñå èçáèðà ïî
ñîôòóåðåí ïúò. Â ïî-ãîëåìèòå ìèêðîêîíòðîëåðè èìà ïî íÿêîëêî òàéìåðà, êîèòî
ìîãàò äà ñà ñ ðàçëè÷íà ðàçðåäíîñò, íàïðèìåð 8- è
16-áèòîâè. Ðàáîòàòà íà òàéìåðèòå å ïðÿêî ñâúðçàíà ñ òàêòîâèÿ ãåíåðàòîð, êîéòî
ñúùî å èíòåãðèðàí â ÷èïà. Ðåæèìèòå ìó íà ðàáîòà ñå îïðåäåëÿò ñîôòóåðíî è ìîãàò
äà áúäàò:
- êàòî RC (ðåçèñòîðíî-êàïàöèòèâåí)
ãåíåðàòîð, ïðè êîéòî íå ñà íåîáõîäèìè äîïúëíèòåëíè âúíøíè êîìïîíåíòè;
- êîãàòî å íåîáõîäèìà âèñîêà òî÷íîñò íà òàêòîâèòå èìïóëñè å ïðåäâèäåíà
âúçìîæíîñò çà âúíøíî âêëþ÷âàíå íà êâàðöîâ èëè êåðàìè÷åí êðèñòàë;
- ÷ðåç âúíøåí èçòî÷íèê íà òàêòîâà ÷åñòîòà. Òîçè ðåæèì ñå èçïîëçâà, êîãàòî
òðÿáâà äà ñå ñèíõðîíèçèðà ðàáîòàòà íà ìèêðîêîíòðîëåðà ñ äðóãî, âúíøíî
óñòðîéñòâî.
Íÿêîè îò òàêòîâèòå ãåíåðàòîðè ñà ñíàáäåíè ñ PLL ñõåìè
(phase-locked loop –
àâòîìàòè÷íà ôàçîâà äîíàñòðîéêà íà ÷åñòîòàòà), ÷ðåç
êîèòî ñå ïîñòèãàò ïî-âèñîêè ÷åñòîòè. Ñúùåñòâóâàò ìîäåëè ìèêðîêîíòðîëåðè, ïðè
êîèòî PLL ñå èçïîëçâà è çà óïðàâëåíèå íà ÷åñòîòàòà, ñ
öåë îïòèìèçàöèÿ íà åíåðãîïîòðåáëåíèåòî.
Êîìóíèêàöèÿ
Êîìóíèêàöèîííèòå
âúçìîæíîñòè ïðè âãðàäåíèòå ñèñòåìè ñå õàðàêòåðèçèðàò ñ ãîëÿìî ðàçíîîáðàçèå:
- Ñåðèéíè êîìóíèêàöèîííè èíòåðôåéñè - RS-232, RS-422, RS-485. Èçïîëçâàò ñå
ãëàâíî çà êîìóíèêàöèÿ ñ êîìïþòðè èëè ñ äðóãè âãðàäåíè ñèñòåìè;
- UART/ USART (Universal Synchronous and Asynchronous Receiver/Transmitter –
óíèâåðñàëåí ñèíõðîíåí è àñèíõðîíåí ïðèåìíèê/ïðåäàâàòåë).
- Ñèíõðîííè ñåðèéíè êîìóíèêàöèîííè èíòåðôåéñè. Íàìèðàò ïðèëîæåíèå êàòî
ïðÿê îáìåí ìåæäó ìèêðîêîíòðîëåðè, çà ïúðâîíà÷àëíî ïðîãðàìèðàíå íà ÷èïà
(çàðåæäàíå íà ïðîãðàìà è íà äàííè) è äð. Êúì òàçè ãðóïà ñïàäàò I2C (Inter-Integrated Circuit), SPI (Serial Peripheral
Interface Bus), SSC è ESSI (Enhanced
Synchronous Serial Interface).
- USB (Universal Serial Bus) - åäèí íàëîæèë ñå â
ïîñëåäíèòå ãîäèíè êîìóíèêàöèîíåí èíòåðôåéñ, ñ êîéòî ñà ñíàáäåíè ãîëÿìà ÷àñò îò
ñúâðåìåííèòå óñòðîéñòâà;
- Ïðîòîêîëè çà ìðåæîâà êîìóíèêàöèÿ êàòî Ethernet,
CAN (Controller Area Network), LonWorks è äð. Íàëè÷èåòî íà òàêàâà ïåðèôåðèÿ â
ìèêðîêîíòðîëåðà ñèëíî ðåäóöèðà áðîÿ íà äîïúëíèòåëíèòå âúíøíè êîìïîíåíòè,
îïðîñòÿâà ïå÷àòíàòà ïëàòêà è ñíèæàâà öåíàòà íà âãðàäåíàòà ñèñòåìà.
Ïðîãðàìíî
îñèãóðÿâàíå íà âãðàäåíèòå ñèñòåìè
Ïðîãðàìíîòî
îñèãóðÿâàíå çà âãðàäåíèòå ñèñòåìè å ïîçíàòî êàòî ôúðìóåð
(firmware) èëè "òâúðäà" ïðîãðàìà, òúé êàòî
å çàïèñàíî â åíåðãîíåçàâèñèìà ïàìåò è â èäåàëíèÿ ñëó÷àé ñå ïðåäïîëàãà, ÷å íÿìà
äà ñå ïðîìåíÿ â ïðîöåñà íà åêñïëîàòàöèÿ íà ñèñòåìàòà, êîéòî ìîæå äà áúäå
äåñåòêè ãîäèíè. Â ìíîãî ñúâðåìåííè ñèñòåìè ïðîãðàìèòå ñà çàïèñàíè âúâ ôëàøïàìåò è ìîãàò (ïðè îïðåäåëåíè ìåðêè çà ñèãóðíîñò) äà ñå
ïîäìåíÿò ñ öåë ìîäåðíèçàöèÿ. Òîâà äàâà âúçìîæíîñò çà ðàçâèòèå íà âãðàäåíèòå
ñèñòåìè, êîèòî âå÷å ñà â åêñïëîàòàöèÿ, íî ñúçäàâà è ïðåäïîñòàâêè çà
çëîóïîòðåáè. Ñðåä íàé-ïîïóëÿðíèòå îïåðàöèîííè ñèñòåìè (ÎÑ) çà âãðàäåíèòå
ñèñòåìè ñà QNX4 RIOS, Embedded
Linux, Windows CE è äð.
QNX4 RIOS å ðàçðàáîòåíà îò QNX
Software Systems çà ïðèëîæåíèÿ ãëàâíî â èíòåëèãåíòíè óñòðîéñòâà çà áèòà, ìàëêè
òåëåêîìóíèêàöèîííè óñòðîéñòâà, àâòîìîáèëíàòà ïðîìèøëåíîñò, ìåäèöèíñêè ïðèáîðè.
QNX4 ìîæå äà ðàáîòè ñ âñè÷êè ïðîöåñîðè îò ñåðèÿòà x86 ñëåä 386. Òîâà å åäíà îò
íàé-ìàëêèòå ÎÑ íà ïàçàðà íà âãðàäåíèòå ñèñòåìè çà óïðàâëåíèå è ìîæå ëåñíî äà ñå
àäàïòèðà êúì ìíîãî ïðèëîæåíèÿ. ßäðîòî íà ñèñòåìàòà èçèñêâà ñàìî 12 kB ïàìåò, çà äà ðàáîòè. Çà ñðàâíåíèå, Windows CE èçèñêâà ïîíå 350 kB çà ÿäðîòî
ñ èçâåñòíè êîìóíèêàöèîííè âúçìîæíîñòè, Linux - ìèíèìóì
128-256 kB çà ÿäðîòî è îùå íàä 100 kB çà äðóãèòå êîìïîíåíòè. Êàêòî Windows CE,
òàêà è Linux ìîãàò äà ñå êîíôèãóðèðàò çà ñúîòâåòíîòî
ïðèëîæåíèå è çàòîâà îêîí÷àòåëíèÿò ðàçìåð íà èíñòàëèðàíàòà ÎÑ ìîæå äà ñå ïîëó÷è
â øèðîêè ãðàíèöè.
Linux çà âãðàäåíè ñèñòåìè ñòàíà ìíîãî ïîïóëÿðíà ïðåç
ïîñëåäíèòå íÿêîëêî ãîäèíè è òî íàé-âå÷å â èíòåëèãåíòíèòå åëåêòðîäîìàêèíñêè
ïðèáîðè, ðóòåðè è ñóè÷îâå çà òåëåêîìóíèêàöèèòå,
óðåäè, ðàáîòåùè ñ Èíòåðíåò è ïðèëîæåíèÿ â àâòîìîáèëîñòðîåíåòî. Òúé êàòî Linux èìà ìîäóëíà ñòðóêòóðà, å ëåñíî äà ñå îñòàâÿò ñàìî
ìîäóëèòå çà ñúîòâåòíîòî ïðèëîæåíèå, êîåòî äàâà âúçìîæíîñò çà ïîääúðæàíå íà
íåîáõîäèìèÿ ìèíèìóì îò ÎÑ â êîíêðåòíîòî èçäåëèå. Åäíî îò îãðîìíèòå ïðåäèìñòâà
íà Linux å, ÷å êîäúò å øèðîêî äîñòúïåí, ìîæå äà ñå
ïðèãîäè êúì ìíîãî ïðîöåñîðè è å ñòàáèëåí.
Windows CE å âúâåäåí çà ïúðâè ïúò â ìîáèëíèòå
êîìïþòðè îò ñåðèÿòà Handheld PC
ïðåç 1996 ã. Íàìèðà ïðèëîæåíèå è ïðè êîìïþòðèòå çà àâòîìîáèëè, âúâ âèäåîèãðè,
öèôðîâè êàìåðè, ïðîãðàìèðóåìè ëîãè÷åñêè êîíòðîëåðè çà ïðîìèøëåíîñòòà, áàðêîä
÷åòöè è äð.
Ìîäåðíèòå îïåðàöèîííè ñèñòåìè çà âãðàäåíèòå ñèñòåìè ïîääúðæàò ñëîæíè àëãîðèòìè
çà óïðàâëåíèå íà ïàìåòòà, êîèòî îñèãóðÿâàò íåéíîòî îïòèìàëíî èçïîëçâàíå. Ñúùî
òàêà ñå èçïîëçâàò ñèñòåìè çà çàùèòà íà ïàìåòòà è âõîäíî-èçõîäíîòî ïðîñòðàíñòâî
îò ãðåøêè â ïðîãðàìàòà, òàêà ÷å àêî ñå ïîëó÷è ãðåøêà òÿ äà îãðàíè÷è íåïðèÿòíèòå
ïîñëåäñòâèÿ äî ìèíèìóì è ñèñòåìàòà äà ñå ñàìîâúçñòàíîâè.
Èíñòðóìåíòè
çà òåñòâàíå è êîðèãèðàíå
Ïðîöåñúò íà
èçïèòâàíå è êîðåêöèÿ íà ïðîãðàìíîòî îñèãóðÿâàíå, íàðè÷àí îùå äåáúãèíã (debugging), îòíåìà
ãîëÿìà ÷àñò îò óñèëèÿòà è âðåìåòî íà ðàçðàáîò÷èöèòå. Ïîðàäè òàçè ïðè÷èíà,
âñè÷êè ïðîèçâîäèòåëè íà ìèêðîïðîöåñîðè è ìèêðîêîíòðîëåðè çà âãðàäåíè ñèñòåìè ñà
ïðåäâèäèëè èíñòðóìåíòè, ÷ðåç êîèòî òîé äà áúäå óëåñíåí. Êîìïëåêñúò îò ñðåäñòâà
çà äåáúãèíã âêëþ÷âà òðè ñúñòàâíè ÷àñòè. Ïúðâàòà å
íàëè÷èåòî íà íåîáõîäèìàòà ïåðèôåðèÿ â ìèêðîêîíòðîëåðà. Øèðîêî ðàçïðîñòðàíåíèå
ñà äîáèëè JTAG (Joint Test Action Group) –
ñïåöèàëèçèðàí èíòåðôåéñ çà èçïèòâàíå íà íàñèòåíè ïå÷àòíè ïëàòêè; ISP (In-System Programming) – âúòðåøíîñõåìíî
ïðîãðàìèðàíå; ICSP (In Circuit Serial Programming) – ìåòîä çà äèðåêòíî ïðîãðàìèðàíå íà
ìèêðîêîíòðîëåðè, íàïðèìåð îò ñåðèèòå PIC è AVR; BDM (Background
Debug Mode) – èíòåðôåéñ, èçïîëçâàí ãëàâíî â
ïðîäóêòèòå íà Freescale è äð. Âòîðàòà ñúñòàâíà ÷àñò
ïðåäñòàâëÿâà ñïåöèàëèçèðàí õàðäóåð (âãðàäåíà ñèñòåìà âúâ âèä íà ïå÷àòíà ïëàòêà
èëè ñàìîñòîÿòåëíî óñòðîéñòâî), ÷ðåç êîéòî ñå èçâúðøâà ïðîãðàìèðàíå, ñèìóëèðàíå
èëè åìóëèðàíå. Òðåòèÿò åëåìåíò îò ñðåäñòâàòà çà äåáúãèíã
å ïðîãðàìíîòî îñèãóðÿâàíå çà ïåðñîíàëåí êîìïþòúð. Ïîïóëÿðíîñò ñà äîáèëè
ñîôòóåðíè ïàêåòè îò òèïà IDE (Integrated
Development Environment) –
èíòåãðèðàíà ñðåäà çà ðàçðàáîòêà. Òå äàâàò âúçìîæíîñò çà ïèñàíå íà ïðîãðàìè, çà
çàïèñâàíåòî èì â ïàìåòòà íà ìèêðîêîíòðîëåðèòå èëè çà ïðî÷èòàíåòî èì, çà ñèìóëèðàíå
äåéñòâèåòî íà ïðîãðàìàòà è ïîâåäåíèåòî íà öÿëàòà âãðàäåíà ñèñòåìà è äð.